TLSv1.3 をサポートしたCloudFrontの動作を弊社のカフェサイトで確認してみた
AWSチームのすずきです。
Amazon CloudFrontが TLSv1.3サポートのアナウンスがありました。
Announcement: Amazon CloudFront announces support for TLSv1.3 for viewer connections
TLSv1.3をサポートするWebブラウザで、CloudFront を利用したサイトへの接続を行い、 CloudFront が TLSバージョン1.3サポートとなった事を確認する機会がありましたので、紹介させていただきます。
ブラウザ
Google Chrome バージョン: 85.0.4183.83(Official Build)を利用しました。
SSL Labs
SSL Labsを利用してブラウザのテストを行いました。
TLSv1.3サポートする事を確認しました。
検証サイト
Developers.IO CAFE のサイトで動作を確認しました。
当サイトは、CloudFront と S3静的Webサイトホスティングを利用しています。
結果
Chromeブラウザの デベロッパーツール(開発者ツール)、「セキュリティ」タブを開きます。
「TLS 1.3、X25519、AES_128_GCM を使用して暗号化および認証されている」接続であることを確認できました。
curl
「curl」でも確認を試みました。
$ curl --version curl 7.58.0 (x86_64-pc-linux-gnu) libcurl/7.58.0 OpenSSL/1.1.1 zlib/1.2.11 libidn2/2.0.4 libpsl/0.19.1 (+libidn2/2.0.4) nghttp2/1.30.0 librtmp/2.3 Release-Date: 2018-01-24 Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp smb smbs smtp smtps telnet tftp Features: AsynchDNS IDN IPv6 Largefile GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz TLS-SRP HTTP2 UnixSockets HTTPS-proxy PSL
SSL connection using TLSv1.3
、TLSバージョン1.3で接続された事を確認できました。
$ curl -s -v https://cafe.classmethod.jp > /dev/null * Rebuilt URL to: https://cafe.classmethod.jp/ * Trying 99.84.56.83... * TCP_NODELAY set * Connected to cafe.classmethod.jp (99.84.56.83) port 443 (#0) * ALPN, offering h2 * ALPN, offering http/1.1 * successfully set certificate verify locations: * CAfile: /etc/ssl/certs/ca-certificates.crt CApath: /etc/ssl/certs } [5 bytes data] * TLSv1.3 (OUT), TLS handshake, Client hello (1): } [512 bytes data] * TLSv1.3 (IN), TLS handshake, Server hello (2): { [122 bytes data] * TLSv1.3 (IN), TLS Unknown, Certificate Status (22): { [1 bytes data] * TLSv1.3 (IN), TLS handshake, Unknown (8): { [10 bytes data] * TLSv1.3 (IN), TLS Unknown, Certificate Status (22): { [1 bytes data] * TLSv1.3 (IN), TLS handshake, Certificate (11): { [4853 bytes data] * TLSv1.3 (IN), TLS Unknown, Certificate Status (22): { [1 bytes data] * TLSv1.3 (IN), TLS handshake, CERT verify (15): { [264 bytes data] * TLSv1.3 (IN), TLS Unknown, Certificate Status (22): { [1 bytes data] * TLSv1.3 (IN), TLS handshake, Finished (20): { [36 bytes data] * TLSv1.3 (OUT), TLS change cipher, Client hello (1): } [1 bytes data] * TLSv1.3 (OUT), TLS Unknown, Certificate Status (22): } [1 bytes data] * TLSv1.3 (OUT), TLS handshake, Finished (20): } [36 bytes data] * SSL connection using TLSv1.3 / TLS_AES_128_GCM_SHA256
まとめ
TLSv1.3 をサポートした CloudFront、より良いパフォーマンス、高いセキュリティで利用できる事が期待できます。
CloudFront は デフォルトで TLSv1.3 をサポート、既存の環境についても 設定変更なく利用可能です。
現行世代のWebブラウザは TLSv1.3をサポートしていますが、 利用可能な最上位の TLSバージョン(1.2、1.1、1) への自動ネゴシエーションにより、サポート外のブラウザでも CloudFront を引き続き利用する事が可能です。